package br.com.winesys.geta.validator;

import java.io.File;

/**
 * Valida se objeto é um arquivo e se ele existe
 */
public class FileExistsValidator implements Validator{
	
	private String message;
	
	/**
	 * @param message Mensagem de erro do validador
	 */
	public FileExistsValidator(String message) {
		this.message = message;
	}

	/**
	 * Verifica se o arquivo ou diretório existe.
	 * O valor <b>null</b> não é um arquivo.
	 */
	@Override
    public boolean validate(Object obj) {
		if (obj == null) {
			return false;
		}
        if (!(obj instanceof File) || !((File) obj).exists()){
			return false; 
        }
        return true;
    }

	@Override
	public String getMessage() {
		return this.message;
	}
}
